
--针对一个函数的upvalue是外层函数local变量
--两个同级函数，引用了同一个外层函数local变量，
--并且经历从open upvalue到closed upvalue转变的流程
local var1 = 1
function aaa()
	local var2 = 1
	function bbb()
		var1 = var1 + 1
		var2 = var2 + 1
		print("bbb:", var1, var2)
	end

	function ccc()
		var1 = var1 + 1
		var2 = var2 + 1
		print("ccc:", var1, var2)
	end

	bbb()
	print("hahaha")
end
--upvalue var2是共享的，因为调用aaa函数时，在同一次调用时创建的
aaa() --bbb:	2	2  hahaha
bbb() --bbb:	3	3
bbb() --bbb:	4	4
ccc() --ccc:	5	5
ccc() --ccc:	6	6

--[[
bbb:	2	2
hahaha
bbb:	3	3
bbb:	4	4
ccc:	5	5
ccc:	6	6
]]